package com.tedu.food.sys.dao;

import com.tedu.food.common.vo.OrderMasterVo;
import com.tedu.food.common.vo.OrderVo;
import com.tedu.food.sys.entity.OrderMaster;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * @author 作者:tiankun
 * @createdTime 创建时间 :2019年11月22日 上午11:05:01
 */

@Mapper
public interface OrderMasterDao {

	/** 查询已支付订单 */
	List<OrderMaster> findAllPaidOrders();

	/** 查询已完成订单 */
	List<OrderMaster> findAllCompletedOrders();

	/** 根据订单id查找具体订单 */
	OrderVo findOrderMasterByOrderId(Integer id);

	/** 根据订单状态查询某个用户的订单 */
	List<OrderMasterVo> findOrderMastersByStatus(@Param("userId") Integer userId,
			@Param("orderStatus") Integer orderStatus);

	/** 添加订单 */
	Integer insertOrderMaster(OrderMaster entity);

	/** 用户提交未支付订单, 订单状态改为已支付 */
	Integer updateOrderMasterStatus(@Param("id") Integer id, @Param("orderGetNo") String orderGetNo, @Param("orderNo") String orderNo);

	/** 查询总记录数 */
	int getRowCount(@Param("orderStatus") Integer... orderStatus);

	/** 查询当前页订单数 */
	List<OrderMaster> findPageOrders(@Param("startIndex") Integer startIndex, @Param("pageSize") Integer pageSize,
			@Param("orderStatus") Integer... orderStatus);

	/** 根据当前订单id修改订单状态 */
	int updateOrderStatusById(Integer id);

	OrderMaster findOrderMasterById(Integer id);

	/** 根据id删除订单 */
	Integer deleteOrderMasterById(int id);
}
